<?php
namespace app\api\model;
use think\Model;
use think\facade\Db; // 关键：引入Db门面
class Card extends Model
{
    protected $pk = 'id';
    protected $autoWriteTimestamp = false; // 关闭自动时间戳，手动管理
    protected $dateFormat = false;

    // 状态常量
    const STATUS_UNUSED = 1; // 未使用
    const STATUS_USED = 2;   // 已使用

    //卡号和卡密列表
    public static function getCardList($status='',$page=1,$pageSize=10,$keyword='',$adminId='')
    {
        $query = self::where('admin_id',$adminId);
        if($status){
            $query = $query->where('status',$status);
        }

        if (!empty($keyword)) {
            $query=$query->where(function ($q) use ($keyword) {
                $q->where('card_number', 'like', "%{$keyword}%")
                  ->whereOr('card_key', 'like', "%{$keyword}%");
            });
        }
        
        $list = $query->order('create_time','desc')->paginate([
                        'list_rows' => $pageSize,
                        'page' => $page
                    ]);
        $data = $list;
        return ['code'=>200,'msg'=>'success','data'=>$data];
    }

    


    // 删除卡密
    public static function deleteCard($id)
    {
        // 1. 查询模型对象（find() 返回模型实例或null）
        $card = Card::where('id', $id)->find();
        
        // 2. 判断对象是否存在
        if (!$card) {
            return ['code' => 400, 'msg' => '卡密不存在'];
        }
        
        // 3. 调用对象的delete()方法
        $result = $card->delete();
        
        if ($result) {
            return ['code' => 200, 'msg' => '删除成功'];
        } else {
            return ['code' => 400, 'msg' => '删除失败'];
        }
    }
}